﻿#!/usr/bin/env python3

import argparse
import sys


def main():
    '''argparse -  Parser for command-line options, arguments and sub-commands
程序的输入参数分作3类,
1.短格式选项, 以'-'后接一个字母, 若还有参数,则后跟, 可以紧跟也可以间加空格
2.长格式选项, 以'--'后接一个字串, 若还有参数,则跟在'='后面
3.参数
通常参数出现出现在所有选项后.
getopt对于短选项, 指定这些字母的字串, 若其有参数则后跟':'.
对于长选项, 则指定字串list.

argparse的使用步骤:
.创建ArgumentParser
.add_argument()
'''
    print(main.__doc__)
    print("="*30)

    parser = argparse.ArgumentParser(description="Copy one file")
    parser.add_argument("src", default="srcName", help="the source file name.")
    parser.add_argument("dst", default="dstName", help="the destination file name.")
    parser.add_argument("-R", "--recursive", action='store_true', help="copy recursively if directory")
    parser.add_argument("--owner", action='store', help="owner of the dest file")

    parser.print_help()
    print("="*30)
    args = parser.parse_args(['-R', '--owner', 'zf', 'fileSrc', 'fileDst'])
    print(args)


if __name__=='__main__':
    main()
